新增:自选分组页面 - #184
Open
hemingfei wants to merge 57 commits into
Open
Conversation
- start.bat: Interactive launcher with menu options - start-simple.bat: One-click quick start - stop.bat: One-click stop all services
- 新增自选股分组 API 接口 - 新增自选股分组服务层 - 新增前端自选股分组页面 - 更新布局和路由配置 - 添加功能设计文档和实现计划
- 新增 moveGroupToTopMutation 用于重新排序板块 - 在侧边栏每个板块左侧添加置顶图标按钮 - 置顶按钮在板块已在顶部时禁用 - 点击置顶按钮会将该板块移到列表最上方
1. P2-2: 自选板块列配置后端持久化 - 在preferences.py中添加get_watchlist_groups_columns/set_watchlist_groups_columns - 添加API端点/settings/columns GET/PUT - 前端添加API调用并修改load/saveColumnConfig实现优先后端 2. P2-3: 批量获取板块enriched数据优化性能 - 提取公共逻辑_get_enriched_data_for_symbols - 添加/all-items-enriched批量接口,一次性获取所有板块数据 - 前端修改为使用批量接口,避免串行请求
之前在菜单设置页面的 BUILTIN_PAGES 数组中遗漏了自选板块的配置, 尽管该功能在侧边栏菜单和路由中都已存在。现在用户可以在菜单设置中: - 看到自选板块选项 - 调整其在菜单中的顺序 - 控制其显示/隐藏状态
- 将所有 except Exception 替换为更具体的异常类型 - 添加 exc_info=True 记录完整堆栈信息 - 使用 _handle_corrupted_file 统一处理损坏文件
- 修复扩展列(所属概念、所属同花顺行业等)不显示内容的问题 - 添加 extColumnsParam 传递给 API - 添加 renderExtValue 和 renderExtCell 函数 - 添加 expandedCells 状态管理标签展开/收起 - 添加 DimensionMembersDialog 支持 - 完整支持蜡烛图和分时图列 - 添加日K和分时数据查询 - 添加 renderHeaderContent 支持表头眼睛图标和刷新按钮 - 与自选列表功能保持一致
- 将板块详情从Modal改为在右侧下半部分显示 - 支持同时查看板块列表和板块详情 - 保留所有原有功能(自定义列、视图切换等) - 添加关闭详情按钮 - 选中板块高亮显示 - 修复板块详情中使用自定义列的问题
- 创建priceColors.ts颜色管理工具 - 在storage.ts中添加价格颜色配置 - 在设置页面添加颜色选择UI - 修改K线图和分时图组件支持自定义颜色 - 在index.html和main.tsx中添加颜色初始化 - 去掉常用颜色预设选项
… 端点(history/latest/coverage/recompute/refresh)\n- 集成到 daily_pipeline.py 和 preferences.py\n- 实现前端 EmotionCycle.tsx 页面和路由\n- 添加刷新按钮实现增量更新
Fixes the TypeError '(intermediate value)(...) is not a function' by adding a semicolon between the two immediately invoked function expressions (IIFEs) in index.html. This resolves a JavaScript Automatic Semicolon Insertion (ASI) issue.
- 添加导出配置功能,可将分组和设置保存为JSON文件 - 添加导入配置功能,支持合并模式和替换模式 - 在设置菜单中添加导出/导入选项 - 添加导入确认对话框
- 完全重写 sentiment_builder.py,使用与看板相同的逻辑 - 添加 150天 warmup 来正确计算 vol_ratio_5d 等指标 - 添加五档 sealed 修正(假涨停过滤) - 修复 limit_up 计算(包含连板股) - 修复 tier2_count 计算方式(使用 tiers_map) - 修复指数涨跌幅单位转换(小数→百分比) - 添加真停牌股票过滤逻辑 - 性能优化:一次性加载完整日期范围 + warmup,批量计算指标 - 修改 API 层传递 depth_service
- 添加 hoverIndex 状态来跟踪当前悬停的日期 - 修改 latest 计算逻辑,支持悬停日期和最新日期两种模式 - 更新 momentum 计算,基于当前悬停日期计算势头 - 在趋势图 tooltip formatter 中更新悬停状态 - 添加 globalout 事件监听,鼠标离开时清除悬停状态 - 保持 ECharts 原生 tooltip 样式体验 - 更新雷达图标题,根据是否悬停动态显示 - 趋势图提示添加悬停查看历史数据的说明
- 给雷达图数据添加固定 id: 'emotion-radar',确保 ECharts 识别为同一数据更新 - 优化动画配置: - animationDuration: 200ms(更快速的动画) - animationDurationUpdate: 200ms(更新时的动画也快速) - animationEasing: 'cubicOut'(平滑的缓动效果) - animationEasingUpdate: 'cubicOut' - 优化 useEChart 钩子: - 添加 opts 参数,支持配置 notMerge - 添加 lazyUpdate: false 确保立即更新 - 雷达图使用 notMerge: false,让 ECharts 做增量更新而非完全重绘 - 修复 resize 事件清理的 TypeScript 错误
- 移除 tooltip formatter 中返回 undefined 的代码,恢复原生浮窗显示 - 恢复使用 mouseover、mousemove、updateAxisPointer 事件来更新 hoverIndex - 保持 globalout 事件清除悬停状态 - 浮窗现在可以正常显示了,同时悬停同步功能仍正常工作
- 在 tooltip formatter 中同时更新 hoverIndex 和返回自定义 tooltip 内容 - 简化事件处理,只保留 globalout 清除状态 - 浮窗正常显示,同时顶部数据也同步更新 - 保持了雷达图的优化动画效果
- 添加 formatDateWithWeekday 函数,格式化日期并显示周几 - 更新情绪状态卡的日期显示,添加周几 - 更新六维拆解卡的日期显示,添加周几 - 格式:YYYY-MM-DD 周X(例如:2024-08-23 周五)
- 当鼠标悬停在情绪分趋势图上时,对应日期的日历热力图格子会放大显示 - 使用 scale-150 和 shadow-lg 效果使悬停日期更突出 - 保持原有 hover 效果不变
- 后端:新增实时情绪计算服务,分钟级计算情绪指标 - 后端:新增实时情绪API接口 - 前端:新增实时情绪分时页面 - 前端:集成路由和菜单 - 前端:在菜单设置中添加实时情绪页配置
- 创建LiveIndices实时指数页面,支持4大指数的多周期切换 - 为EChartsIntraday添加isIndex参数,支持指数分时图不显示均价线 - 修复分钟K线时间显示问题,添加智能时间格式化 - 修改EChartsCandlestick支持智能时间格式化显示 - 更新Indices和StockIntradayChart组件支持isIndex参数
- 修改aggregateMinuteKlines函数,直接从datetime字符串提取时间,避免时区问题 - 确保时间窗口从9:30开始计算 - 优化EChartsCandlestick的时间格式化逻辑
- 使用和EChartsIntraday完全一致的时间解析方式 - 重写时间窗口计算逻辑,确保从9:30开始 - 添加parseTime和formatTime辅助函数 - 简化代码逻辑,避免时区问题
- 新增 9:15-9:25 集合竞价时段记录 - 新增 15:00-15:05 收盘后时段记录 - 新增特定秒点记录: * 9:15:10, 9:15:20 * 9:25:10, 9:25:20 * 9:30:10, 9:30:20 * 15:00:10, 15:00:20 - 特定秒点显示完整 HH:MM:SS 格式 - 优化后台循环防重复间隔为 5 秒
- 改用结束时间标记K线窗口 - 上午第一根特殊处理(多包含1根) - 下午从13:01开始,无特殊处理 - 包含11:30和15:00最后一根1分K - 支持所有短周期正确聚合
- 创建实时环境后端服务 (intraday_regime.py) - 创建实时环境API路由 (regime_intraday.py) - 注册实时环境API到main.py - 创建实时环境前端页面 (IntradayRegime.tsx) - 在API中添加实时环境类型和方法 - 在路由中添加实时环境页面 - 在侧边栏添加实时环境菜单 - 在菜单设置中添加实时环境选项 - 实时环境计算逻辑与市场环境保持一致 - 实时环境时间范围与实时情绪保持一致 - 优化实时环境页面布局,第二排只保留两个卡片
- 第二排卡片从4个改为2个 - 去除数据更新卡片 - 合并六维拆解和更多维度为一个完整的六维拆解卡片
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
自选分组页面可以创建分组,并在分组添加个股,列表、卡片等方式显示并且可以计算平均涨跌幅排序,便于观察分组板块强弱。